package edu.smxy.associationmanagement.mapper;

import edu.smxy.associationmanagement.domain.User;

import java.util.List;
/**
 * User Mybatis接口
 *
 * @date 2019/04/19
 * @author: : SDH
 * @description:
 */
public interface UserMapper {
  /**
   * 根据id删除User数据
   *
   * @param id id
   * @return 数据库受影响的行数
   */
  int deleteByPrimaryKey(final Integer id);

  /**
   * 插入User数据
   *
   * @param record User对象
   * @return 数据库受影响的行数
   */
  int insert(final User record);

  /**
   * 安全插入User数据
   *
   * @param record User对象
   * @return 数据库受影响的行数
   */
  int insertSelective(final User record);

  /**
   * 根据id查询User数据
   *
   * @param id id
   * @return 查询到的User数据
   */
  User selectByPrimaryKey(final Integer id);

  /**
   * 安全更新User数据
   *
   * @param record User对象
   * @return 数据库受影响的行数
   */
  int updateByPrimaryKeySelective(final User record);

  /**
   * 更新User数据
   *
   * @param record User对象
   * @return 数据库受影响的行数
   */
  int updateByPrimaryKey(final User record);

  /**
   * 根据User对象查询User数据
   *
   * @param user User对象
   * @return 查询到的User数据
   */
  User query(final User user);

  /**
   * 获得所有User数据
   *
   * @return List<User> 所有User数据的集合
   */
  List<User> getAll();

  /**
   * 根据用户类型获得所有User数据
   *
   * @param type 用户类型
   * @return List<User> 获得的User数据集合
   */
  List<User> getAllByType(int type);

  /**
   * 根据User对象查询User数据
   *
   * @param user User对象
   * @return 查询到的User数据
   */
  User queryUser(User user);
}
